package com.power.sifa.correction.api;

import com.plf.common.domain.ResponseDTO;
import com.power.sifa.correction.model.Crw_rule_zonein;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import com.power.sifa.correction.model.Crw_rule_zoneout;
import com.power.sifa.correction.model.pageInfo.Crw_rule_zoneoutPageInfo;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 *  禁出圈设置 Feign
 */
public interface ICrw_rule_zoneoutFeign {

    /**
     * 禁出圈设置分页列表
     */
    @PostMapping("/crw_rule_zoneout/list")
    ResponseDTO list(@RequestBody Crw_rule_zoneoutPageInfo crw_rule_zoneoutPageInfo);

    /**
    * 查看禁出圈设置
    */
    @GetMapping("/crw_rule_zoneout/view")
    ResponseDTO view(@RequestParam("id") String id);

    /**
    * 删除禁出圈设置
    */
    @PostMapping("/crw_rule_zoneout/delete")
    ResponseDTO delete(@RequestParam("id") String id);

    ///**
    // * 查看禁出圈设置 复合主键使用
    // */
    //@PostMapping("/crw_rule_zoneout/viewByPK")
    //ResponseDTO viewByPK(@RequestBody Crw_rule_zoneout.Crw_rule_zoneoutPK pk);

    /**
     * 修改或保存禁出圈设置
     */
    @PostMapping("/crw_rule_zoneout/save")
    ResponseDTO save(@RequestBody Crw_rule_zoneout  crw_rule_zoneout);

    ///**
    // * 删除禁出圈设置 复合主键使用
    // */
    //@PostMapping("/crw_rule_zoneout/deleteByPK")
    //ResponseDTO deleteByPK(@RequestBody Crw_rule_zoneout.Crw_rule_zoneoutPK pk);
    
    /**
     * 批量删除禁出圈设置
     */
    @PostMapping("/crw_rule_zoneout/batchDel")
    ResponseDTO batchDel(@RequestParam("ids") String ids);
    
     /**
     * 导出excel
     */
    @PostMapping("/crw_rule_zoneout/output")
    void output(HttpServletResponse response, @RequestBody Crw_rule_zoneoutPageInfo crw_rule_zoneoutPageInfo);
        
     /**
     * 导出excel模板
     */
    @PostMapping("/crw_rule_zoneout/exportExcelTemplate")
    void exportExcelTemplate(HttpServletResponse response);
    
     /**
     *	导入excel
     */
    @PostMapping("/crw_rule_zoneout/importExcel")
    ResponseDTO importExcel(@RequestBody MultipartFile file) throws IOException ;

    /**
     * 修改或保存禁出圈设置及社矫人员信息
     */
    @PostMapping("/crw_rule_zoneout/saveRule")
    ResponseDTO saveRule(@RequestBody Crw_rule_zoneout crw_rule_zoneout, @RequestParam("personIds")String personIds, @RequestParam("groupIds")String groupIds, @RequestParam("geopointIds")String geopointIds);


    /**
     * 判断规则名称是否已存在
     */
    @GetMapping("/crw_rule_zoneout/existsRuleName")
    ResponseDTO<Boolean> existsRuleName(@RequestParam("name") String name);

}
